//
//  NSDate+Extension.swift
//  weiBo
//
//  Created by apple on 16/5/16.
//  Copyright © 2016年 itcast. All rights reserved.
//

import UIKit

extension NSDate {


    class func sinaDate(creatAt: String) -> NSDate{
        //获取当前时间
        let dateFormatter = NSDateFormatter()
        dateFormatter.locale = NSLocale(localeIdentifier: "en_US")
        dateFormatter.dateFormat = "EEE MMM ddd HH:mm:ss z yyyy"
        //获取格式化好的日期
        let creatAtDate = dateFormatter.dateFromString(creatAt)!
        
        return creatAtDate
    }
    
    var sinaDateString: String {
        //获取当前时间
        let dateFormatter = NSDateFormatter()
        dateFormatter.locale = NSLocale(localeIdentifier: "en_US")

        //判断是不是今年
        if isThisYear(self) {
            //是今年
            let calendar = NSCalendar.currentCalendar()
            //判断是否是今天
            if calendar.isDateInToday(self) {
                //获取时间的差值
                let timeInterval = abs(self.timeIntervalSinceNow)
                if timeInterval < 60 {
                    return "刚刚"
                }else {
                    if timeInterval < 3600 {
                        let result = Int(timeInterval / 60)
                        return "\(result)分钟前"
                    }else{
                        let result = Int(timeInterval / 3600)
                        return "\(result)小时前"
                    }
                    
                }
                
                
            }else if calendar.isDateInYesterday(self) {
                dateFormatter.dateFormat = "昨天 HH:mm"
            }else {
                dateFormatter.dateFormat = "MM-ddd HH:mm"
            }
            
            
        }else{
            //不是今年
            dateFormatter.dateFormat = "yyyy-MM-ddd HH:mm"
            
        }
        
        
        return dateFormatter.stringFromDate(self)
        
        
    }
    
    
    }


//判断是不是今年
private func isThisYear(creatAtDate: NSDate) -> Bool{
    //获取当前时间
    let currentDate = NSDate()
    //将当前时间格式化
    let dataFormatter = NSDateFormatter()
    //设置本地化信息
    dataFormatter.locale = NSLocale(localeIdentifier: "en_US")
    //设置格式化格式
    dataFormatter.dateFormat = "yyyy"
    //获取年份
    let currentYear = dataFormatter.stringFromDate(currentDate)
    let creatYear = dataFormatter.stringFromDate(creatAtDate)
    
    return currentYear == creatYear
    
}
